package com.diy.sigmund.diycommon.designpatterns.adapterpattern.duck;

/**
 * 假设你缺鸭子对象，想用一些火鸡来冒充。
 * <br>首先需要实现想转换成的类型接口，也就是你的客户所期望看到的接口
 *
 * @author ylm-sigmund
 * @since 2022/2/9 16:44
 */
public class TurkeyAdapterDuck implements Duck {

    Turkey turkey;

    /**
     * 接着，需要取得要适配的对象的引用，这里我们利用构造器取得
     *
     * @param turkey turkey
     */
    public TurkeyAdapterDuck(Turkey turkey) {
        this.turkey = turkey;
    }

    /**
     * 实现接口中的所有方法，简单逻辑直接转换
     */
    @Override
    public void quack() {
        turkey.gobble();
    }

    @Override
    public void fly() {
        turkey.fly();
    }
}
